home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / 2499.ZIP / WIPASCAL.ZIP / ACKERMAN.PAS next >
Pascal/Delphi Source File  |  1990-08-31  |  693b  |  31 lines

  1. program Ackerman( Input, Output );
  2.  
  3. var
  4.   I, J: integer;
  5.   Hour, Minute, Second, Hund : integer;
  6.   TStart, TEnd : real;
  7.  
  8. Function Ack( M, N: integer ) : integer;
  9. Begin
  10.   if M = 0 then
  11.      Ack := N + 1
  12.   else if N = 0 then
  13.      Ack := Ack( M-1, 1 )
  14.   else 
  15.      Ack := Ack( M-1, Ack(M, N-1) );
  16.  
  17. End;
  18.  
  19. Begin
  20.    write( 'Enter two integers: ' );
  21.    readln( I, J );
  22.    GetTime( Hour, Minute, Second, Hund );
  23.    TStart := (Minute * 60) + Second + (Hund / 100);
  24.  
  25.    writeln( 'Ackerman(', I:1, ',', J:1, ') = ', Ack(I,J) );
  26.  
  27.    GetTime( Hour, Minute, Second, Hund );
  28.    TEnd := (Minute * 60) + Second + (Hund / 100);
  29.    writeln( (TEnd - TStart):4:2, ' seconds.' );
  30. End.
  31.